fix horrendous complicated bug IAP couldn't.
xenolinux-2.4.16-sparse/arch/xeno/drivers/block/block.c.orig
xenolinux-2.4.16-sparse/scripts/kconfig.tk
xen-2.4.16/foo
+xen-2.4.16/common/domain.c.smh
+URK
BUG();
}
+ if(blk_ring->btx_ring[index].buffer == NULL) {
+ printk(KERN_ALERT "xen_block: bogus buffer from guestOS\n");
+ BUG();
+ }
if (XEN_BLK_DEBUG) {
printk(XEN_BLK_DEBUG_LEVEL " btx_cons: %d btx_prod %d index: %d "
sge->page = bh->b_page;
sge->offset = bh_offset(bh);
} else {
+
+
+#if 0
+ /* below is wrong for xen since b_data is actually
+ a 'physical / virtual' thingy. Ask KAF. */
if (((unsigned long) bh->b_data) < PAGE_SIZE)
BUG();
+#endif
sge->address = bh->b_data;
}
for (i = 0; i < nents; i++ ) {
if (sg[i].address && sg[i].page)
out_of_line_bug();
+
+ /* not worth checking since NULL is ok says SMH */
+#if 0
else if (!sg[i].address && !sg[i].page)
out_of_line_bug();
+#endif
if (sg[i].address)
sg[i].dma_address = virt_to_bus(sg[i].address);